package com.wxz.gblw.cjg.utils;

import com.wxz.gblw.cjg.vo.EmailVo;
import org.apache.commons.mail.EmailException;
import org.apache.commons.mail.HtmlEmail;
import org.springframework.util.StringUtils;

/**
 * @author xiangzhong.wang
 * @date 2019-12-31 15:33
 */
public class EmailUtil {

    public static boolean send(EmailVo vo) {
        if(vo==null
                || StringUtils.isEmpty(vo.getHostName())
                || StringUtils.isEmpty(vo.getSendEmail())
                || StringUtils.isEmpty(vo.getPassword())
                || StringUtils.isEmpty(vo.getToEmail())
                || StringUtils.isEmpty(vo.getToTitle())
                || StringUtils.isEmpty(vo.getToContent())){
            return false;
        }
        // 发送email
        HtmlEmail email = new HtmlEmail();
        try {
            // 这里是SMTP发送服务器的名字：163的如下："smtp.163.com",阿里："smtp.mxhichina.com"
            email.setHostName(vo.getHostName());
            // 如果需要认证信息的话，设置认证：用户名-密码。分别为发件人在邮件服务器上的注册名称和密码
            email.setAuthentication(vo.getSendEmail(), vo.getPassword());
            // 字符编码集的设置
            email.setCharset("UTF-8");
            // 发送人的邮箱
            email.setFrom(vo.getSendEmail(), "隔壁老王藏金阁");
            // 收件人的邮箱
            email.addTo(vo.getToEmail());
            // 要发送的邮件主题
            email.setSubject(vo.getToTitle());
            // 要发送的信息，由于使用了HtmlEmail，可以在邮件内容中使用HTML标签
            email.setMsg(vo.getToContent());
            // 发送
            email.send();
            return true;
        } catch (EmailException e) {
            e.printStackTrace();
            return false;
        }
    }
}
